import { IAsset, ILabelTag } from '@/components/common/LabelEditor/types'
import { IOverlayDataSet } from './overlay'

// custom mitter event types
type EmitterEventTypes = {
    abc: number
    a: {
        a: string
        b: number
    }
    // 上传进度变更
    uploadProgress: {
        name: string
        percent: number
        complete: boolean
    }
    // 上传成功
    uploadSuccess: {
        name: string
    }

    // 预览缩略图
    previewOverlay: {
        ds: IOverlayDataSet
    }
    // 标注标签发生更改时
    editTagSuccess: {
        tag: ILabelTag
        index: number
    }
    addTagSuccess: {
        tag: ILabelTag
    }
    removeTagSuccess: {
        tag: ILabelTag
        index: number
    }
    assetChange: {
        asset: IAsset
    }
}

export type { EmitterEventTypes }
